Methods and systems for maximum-likelihood detection using post-squaring compensation

ABSTRACT

A “post-squaring” detection algorithm, and related devices, that may reduce the complexity of maximum likelihood detection (MLD) schemes while preserving their performance is provided. Rather than search for optimum metrics (such as minimum distance metrics) based on squared norm values, a search may be based on un-squared norm metrics, and the squaring may be postponed, for example, until subsequent log-likelihood ratio (LLR) computation. For certain embodiments, approximations of un-squared norm values may significantly reduce computation complexity.

TECHNICAL FIELD

The present disclosure generally relates to MIMO OFDM communication systems and more specifically to a method to reduce computational complexity of Max-Log-MAP based maximum-likelihood (ML) detection applied at the receiver.

BACKGROUND

A multiple-input multiple-output (MIMO) communication system employs multiple (N_(T)) transmit antennas and multiple (N_(R)) receive antennas for data transmission. A MIMO channel formed by the N_(T) transmit and N_(R) receive antennas may be decomposed into N_(S) independent channels, with N_(S)≦min {N_(T), N_(R)}. Each of the N_(S) independent channels is also referred to as a spatial sub-channel of the MIMO channel and corresponds to a dimension. The MIMO system can provide improved performance (e.g., increased transmission capacity) over that of a single-input single-output (SISO) communication system if the additional dimensionalities created by the multiple transmit and receive antennas are utilized.

A wideband MIMO system typically experiences frequency selective fading, i.e. different amounts of attenuation across the system bandwidth. This frequency selective fading causes inter-symbol interference (ISI), which is a phenomenon whereby each symbol in a received signal acts as distortion to subsequent symbols in the received signal. This distortion degrades performance by impacting the ability to correctly detect the received symbols. As such, ISI is a non-negligible noise component that may have a large impact on the overall signal-to-noise-and-interference ratio (SNR) for systems designed to operate at high SNR levels, such as MIMO systems. In such systems, equalization may be used at the receivers to combat ISI. However, the computational complexity required to perform equalization is typically significant or prohibitive for most applications.

Orthogonal frequency division multiplexing (OFDM) may be used to combat ISI without the use of computationally intensive equalization. An OFDM system effectively partitions the system bandwidth into a number of (N_(F)) frequency sub-channels, which may be referred to as sub-bands or frequency bins. Each frequency sub-channel is associated with a respective subcarrier frequency upon which data may be modulated. The frequency sub-channels of the OFDM system may experience frequency selective fading (i.e., different amounts of attenuation for different frequency sub-channels) depending on the characteristics (e.g., multipath profile) of the propagation path between transmit and receive antennas. With OFDM, the ISI due to the frequency selective fading may be combated by repeating a portion of each OFDM symbol (i.e., appending a cyclic prefix to each OFDM symbol), as is known in the art. A MIMO system may thus advantageously employ OFDM to combat ISI.

In order to increase the transmission data rate and spectral efficiency of the system, spatial multiplexing may be applied at the transmitter where different and independent data streams may be communicated over a plurality of spatial sub-channels. The detection accuracy of the receiver can be severely degraded due to a strong multiple access interference (interference of data streams transmitted from different antennas). Moreover, spatial and frequency sub-channels may experience different channel conditions (e.g., fading and multipath effects) and may achieve different SNRs. Also, channel conditions may vary over time.

Different techniques can be applied at the receiver to accurately detect information data transmitted from a plurality of antennas over spatial and frequency sub-channels. Suppression of the multiple access interference in MIMO-OFDM system can be achieved by applying maximum likelihood (ML) detection at the receiver.

The ML detection is optimal algorithm in terms of accuracy because likelihoods of all symbol vectors that can be possibly transmitted from a plurality of antennas may be evaluated. On the other side, computational complexity may be large especially in systems with high spectral efficiency that employ large number of transmit antennas and high-order modulation types.

The Log-MAP (maximum a posteriori) ML detection can be considered as an ideal maximum-likelihood algorithm in terms of error rate performance. It utilizes squared l₂ norm as a metric for calculation of log-likelihood ratios (hereinafter abbreviated as LLRs) of coded transmission bits. Complexity of direct computation of squared l₂ norms may be large, especially for high order modulation types and/or high dimensional Multiple-Input Multiple-Output (MIMO) wireless systems. Due to a high computational complexity of the Log-MAP ML algorithm, the Max-Log-MAP approach for ML detection may be preferred for actual hardware implementation where summation operations can be replaced with comparison operations. But, this approach also requires computation of squared l₂ norms.

Therefore, there is a need in the art to reduce computational complexity of the Max-Log-MAP based ML detection in systems with high spectral efficiency.

SUMMARY

Certain embodiments of the present disclosure provide a method for detection of data transmitted on a plurality of spatial channels in a multiple-input multiple-output wireless communications system. The method generally includes calculating un-squared norm metrics for a set of hypothesized symbols that that correspond to coded bits transmitted over the spatial channels, searching the un-squared norm metrics for optimum metrics, squaring optimum metrics found during the searching to obtain post-squared metrics, and calculating log-likelihood ratio values for coded bits transmitted over the spatial channels using post-squared metrics.

Certain embodiments of the present disclosure provide an apparatus for detection of data transmitted on a plurality of spatial channels in a multiple-input multiple-output wireless communications system. The apparatus generally includes logic for calculating un-squared norm metrics for a set of hypothesized symbols that that correspond to coded bits transmitted over the spatial channels, logic for searching the un-squared norm metrics for optimum metrics, logic for squaring optimum metrics found during the searching to obtain post-squared metrics, and logic for calculating log-likelihood ratio values for coded bits transmitted over the spatial channels using post-squared metrics.

Certain embodiments of the present disclosure provide an apparatus for detection of data transmitted on a plurality of spatial channels in a multiple-input multiple-output wireless communications system. The apparatus generally includes means for calculating un-squared norm metrics for a set of hypothesized symbols that that correspond to coded bits transmitted over the spatial channels, means for searching the un-squared norm metrics for optimum metrics, means for squaring optimum metrics found during the searching to obtain post-squared metrics, and means for calculating log-likelihood ratio values for coded bits transmitted over the spatial channels using post-squared metrics.

Certain embodiments of the present disclosure provide a computer-program product for detection of data transmitted on a plurality of spatial channels in a multiple-input multiple-output wireless communications system, comprising a computer readable medium having instructions stored thereon, the instructions being executable by one or more processors. The instructions generally include instructions for calculating un-squared norm metrics for a set of hypothesized symbols that that correspond to coded bits transmitted over the spatial channels, instructions for searching the un-squared norm metrics for optimum metrics, instructions for squaring optimum metrics found during the searching to obtain post-squared metrics, and instructions for calculating log-likelihood ratio values for coded bits transmitted over the spatial channels using post-squared metrics.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain typical embodiments of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective embodiments.

FIG. 1 illustrates an example wireless communication system, in accordance with certain embodiments of the present disclosure.

FIG. 2 illustrates various components that may be utilized in a wireless device in accordance with certain embodiments of the present disclosure.

FIG. 3 illustrates an example transmitter and an example receiver that may be used within a wireless communication system in accordance with certain embodiments of the present disclosure.

FIG. 4 illustrates a block diagram of a generic MIMO-OFDM wireless system in accordance with certain embodiments of the present disclosure.

FIG. 5 shows a block diagram of a typical implementation of Max-Log-MAP ML detection in accordance with certain embodiments of the present disclosure.

FIG. 6 shows a block diagram of Max-Log-MAP QRML detector in accordance with certain embodiments of the present disclosure.

FIG. 7 shows a process of Max-Log-MAP ML detection with post-squaring compensation in accordance with certain embodiments of the present disclosure.

FIG. 7A illustrates example components capable of performing the operations illustrated in FIG. 7.

FIG. 8 shows a block diagram of Max-Log-MAP ML detector with post-squaring compensation in accordance with certain embodiments of the present disclosure.

FIG. 9 shows a process of Max-Log-MAP QRML detection with post-squaring compensation in accordance with certain embodiments of the present disclosure.

FIG. 9A illustrates example components capable of performing the operations illustrated in FIG. 9.

FIG. 10 shows a block diagram of Max-Log-MAP QRML detector with post-squaring compensation in accordance with certain embodiments of the present disclosure.

FIG. 11 shows a comparison of computational complexity for several ML detection schemes used in the simulations in accordance with certain embodiments of the present disclosure.

FIG. 12 shows a summary of ML detection schemes used in the simulations in accordance with certain embodiments of the present disclosure.

FIG. 13 shows a packet error rate performance loss in dB units of different ML algorithms relative to the QRML detection with metric based on squared l₂ norm.

DETAILED DESCRIPTION

For certain embodiments of the present disclosure, a post squared compensation of un-squared l₂ norms is proposed as an alternative method for calculation of LLRs. Computational complexity of this scheme is significantly smaller than complexity of conventional Max-Log-MAP based ML algorithm, while the accuracy is preserved.

The proposed algorithm may be referred to as the post-squaring compensation maximum-likelihood detection (hereinafter abbreviated as PC-ML detection). Instead of direct calculation of squared l₂ norms employed in the conventional Max-Log-MAP based ML algorithm, non-squared l₂ norms may now be utilized. Squaring of l₂ norms may be postponed until the search for minima non-squared metrics is finished.

This approach may provide identical final result as a direct calculation of squared metrics performed before searching for minima values. Therefore, the PC-ML scheme achieves the same detection accuracy as the conventional Max-Log-MAP based ML algorithm. It can be shown that the computational complexity of the PC-ML detection algorithm is smaller than that of conventional Max-Log-MAP based ML detection since computation of non-squared l₂ norms can be accurately approximated with comparison and addition operations instead of multiplications that are utilized for direct computation of squared l₂ norms. Furthermore, because only minima metrics are post-squared, overhead in the computational complexity of the PC-ML algorithm introduced by the post-squaring compensation is small, and it does not affect the overall computational complexity.

The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

Exemplary Wireless Communication System

The techniques described herein may be used for various broadband wireless communication systems, including communication systems that are based on an orthogonal multiplexing scheme. Examples of such communication systems include Orthogonal Frequency Division Multiple Access (OFDMA) systems, Single-Carrier Frequency Division Multiple Access (SC-FDMA) systems, and so forth. An OFDMA system utilizes orthogonal frequency division multiplexing (OFDM), which is a modulation technique that partitions the overall system bandwidth into multiple orthogonal sub-carriers. These sub-carriers may also be called tones, bins, etc. With OFDM, each sub-carrier may be independently modulated with data. An SC-FDMA system may utilize interleaved FDMA (IFDMA) to transmit on sub-carriers that are distributed across the system bandwidth, localized FDMA (LFDMA) to transmit on a block of adjacent sub-carriers, or enhanced FDMA (EFDMA) to transmit on multiple blocks of adjacent sub-carriers. In general, modulation symbols are sent in the frequency domain with OFDM and in the time domain with SC-FDMA.

One specific example of a communication system based on an orthogonal multiplexing scheme is a WiMAX system. WiMAX, which stands for the Worldwide Interoperability for Microwave Access, is a standards-based broadband wireless technology that provides high-throughput broadband connections over long distances. There are two main applications of WiMAX today: fixed WiMAX and mobile WiMAX. Fixed WiMAX applications are point-to-multipoint, enabling broadband access to homes and businesses, for example. Mobile WiMAX offers the full mobility of cellular networks at broadband speeds.

IEEE 802.16x is an emerging standard organization to define an air interface for fixed and mobile broadband wireless access (BWA) systems. These standards define at least four different physical layers (PHYs) and one media access control (MAC) layer. The OFDM and OFDMA physical layer of the four physical layers are the most popular in the fixed and mobile BWA areas respectively.

FIG. 1 illustrates an example of a wireless communication system 100 in which embodiments of the present disclosure may be employed. The wireless communication system 100 may be a broadband wireless communication system. The wireless communication system 100 may provide communication for a number of cells 102, each of which is serviced by a base station 104. A base station 104 may be a fixed station that communicates with user terminals 106. The base station 104 may alternatively be referred to as an access point, a Node B or some other terminology.

FIG. 1 depicts various user terminals 106 dispersed throughout the system 100. The user terminals 106 may be fixed (i.e., stationary) or mobile. The user terminals 106 may alternatively be referred to as remote stations, access terminals, terminals, subscriber units, mobile stations, stations, user equipment, etc. The user terminals 106 may be wireless devices, such as cellular phones, personal digital assistants (PDAs), handheld devices, wireless modems, laptop computers, personal computers, etc.

A variety of algorithms and methods may be used for transmissions in the wireless communication system 100 between the base stations 104 and the user terminals 106. For example, signals may be sent and received between the base stations 104 and the user terminals 106 in accordance with OFDM/OFDMA techniques. If this is the case, the wireless communication system 100 may be referred to as an OFDM/OFDMA system.

A communication link that facilitates transmission from a base station 104 to a user terminal 106 may be referred to as a downlink (DL) 108, and a communication link that facilitates transmission from a user terminal 106 to a base station 104 may be referred to as an uplink (UL) 110. Alternatively, a downlink 108 may be referred to as a forward link or a forward channel, and an uplink 110 may be referred to as a reverse link or a reverse channel.

A cell 102 may be divided into multiple sectors 112. A sector 112 is a physical coverage area within a cell 102. Base stations 104 within a wireless communication system 100 may utilize antennas that concentrate the flow of power within a particular sector 112 of the cell 102. Such antennas may be referred to as directional antennas.

FIG. 2 illustrates various components that may be utilized in a wireless device 202 that may be employed within the wireless communication system 100. The wireless device 202 is an example of a device that may be configured to implement the various methods described herein. The wireless device 202 may be a base station 104 or a user terminal 106.

The wireless device 202 may include a processor 204 which controls operation of the wireless device 202. The processor 204 may also be referred to as a central processing unit (CPU). Memory 206, which may include both read-only memory (ROM) and random access memory (RAM), provides instructions and data to the processor 204. A portion of the memory 206 may also include non-volatile random access memory (NVRAM). The processor 204 typically performs logical and arithmetic operations based on program instructions stored within the memory 206. The instructions in the memory 206 may be executable to implement the methods described herein.

The wireless device 202 may also include a housing 208 that may include a transmitter 210 and a receiver 212 to allow transmission and reception of data between the wireless device 202 and a remote location. The transmitter 210 and receiver 212 may be combined into a transceiver 214. A plurality of transmit antennas 216 may be attached to the housing 208 and electrically coupled to the transceiver 214. The wireless device 202 may also include (not shown) multiple transmitters, multiple receivers, and multiple transceivers.

The wireless device 202 may also include a signal detector 218 that may be used in an effort to detect and quantify the level of signals received by the transceiver 214. The signal detector 218 may detect such signals as total energy, energy per subcarrier per symbol, power spectral density and other signals. The wireless device 202 may also include a digital signal processor (DSP) 220 for use in processing signals.

The various components of the wireless device 202 may be coupled together by a bus system 222, which may include a power bus, a control signal bus, and a status signal bus in addition to a data bus.

FIG. 3 illustrates an example of a transmitter 302 that may be used within a wireless communication system 100 that utilizes OFDM/OFDMA. Portions of the transmitter 302 may be implemented in the transmitter 210 of a wireless device 202. The transmitter 302 may be implemented in a base station 104 for transmitting data 306 to a user terminal 106 on a downlink 108. The transmitter 302 may also be implemented in a user terminal 106 for transmitting data 306 to a base station 104 on an uplink 110.

Data 306 to be transmitted is shown being provided as input to MIMO encoder 312. The MIMO encoder may encode the data 306 and map them onto M constellation points. The mapping may be done using some modulation constellation, such as binary phase-shift keying (BPSK), quadrature phase-shift keying (QPSK), 8 phase-shift keying (8PSK), quadrature amplitude modulation (QAM), etc, or null (zero valued) modulation if the sub-carrier is not assigned. Thus, the MIMO encoder 312 may output N_(FFT) parallel symbol streams 316 per antenna path, each symbol stream 316 corresponding to N_(FFT) orthogonal subcarriers of the inverse fast Fourier transforms (IFFTs) 320. These N_(FFT) parallel symbol streams 316 are represented in the frequency domain and may be converted into N_(FFT) parallel time domain sample streams 318 by IFFT components 320.

A brief note about terminology will now be provided. N_(T)×N_(FFT) parallel modulations in the frequency domain are equal to N_(T)×N_(FFT) modulation symbols in the frequency domain, which are equal to N_(T) parallel N_(FFT) mapping and N_(T) parallel N_(FFT)-point IFFTs in the frequency domain, which is equal to N_(T) (useful) OFDM symbols in the time domain, each of which is equal to N_(FFT) samples in the time domain, where N_(T) is the number of transmit antennas 330. After inserting Guard samples, one OFDM symbol in the time domain, N_(S), is equal to N_(CP) (the number of guard samples per OFDM symbol)+N_(FFT) (the number of useful samples per OFDM symbol) samples.

For one of N_(T) antenna path, the N_(FFT) parallel time domain sample streams 318 may be converted into an OFDM/OFDMA symbol stream 322 by parallel-to-serial (P/S) converter 324. Guard insertion component 326 may insert guard interval between successive OFDM/OFDMA symbols in the OFDM/OFDMA symbol stream 322 generating N_(S)=N_(CP)+N_(FFT) samples. The signal from the guard insertion component 326 may then be up-converted to a desired transmit frequency band by a radio frequency (RF) front end component 328, and the antenna array 330 may then transmit the resulting signal 332 across multiple spatial sub-channels 334.

FIG. 3 also illustrates an example of a receiver 304 that may be used within a wireless device 202 that utilizes OFDM/OFDMA. Portions of the receiver 304 may be implemented in the receiver 212 of a wireless device 202. The receiver 304 may be implemented in a user terminal 106 for receiving data 306 from a base station 104 on a downlink 108. The receiver 304 may also be implemented in a base station 104 for receiving data 306 from a user terminal 106 on an uplink 110.

The transmitted signal 332 is shown traveling over a plurality of spatial sub-channels 334. When a signal 332′ is received by the antenna array 330′, the received signal 332′ may be downconverted to a baseband signal by RF front end components 328′. Guard removal components 326′ may then remove the guard intervals that were inserted between OFDM/OFDMA symbols by the guard insertion components 326.

For one of N_(T) antenna path, the output of the guard removal component 326′ may be provided to S/P converter 324′. The S/P converter 324′ may divide the OFDM/OFDMA symbol stream 322′ into the N_(FFT) parallel time-domain symbol streams 318′, each of which corresponds to one of the N_(FFT) orthogonal subcarriers. Fast Fourier transform (FFT) component 320′ may convert the N_(FFT) parallel time-domain symbol streams 318′ into the frequency domain and output N_(FFT) parallel frequency-domain symbol streams 316′.

A MIMO decoder 312′ may perform the inverse of the encoding and symbol mapping operations that were performed by the MIMO encoder 312 thereby outputting the same number of data stream 306′ as the data 306. Ideally, this data stream 306′ corresponds to the data 306 that was provided as input to the transmitter 302. Note that elements 312′, 316′, 320′, 318′ and 324′ may all be found on a in a baseband processor 340′.

Exemplary MIMO-OFDM System Model

FIG. 4 shows a block diagram of generic multiple-input multiple-output (MIMO) OFDM wireless communication system with N_(T) transmit and N_(R) receive antennas. The system model for the k^(th) sub-carrier (frequency sub-channel) may be represented with linear equation: y _(k) =H _(k) x _(k) +n _(k) , k=1, 2, . . . , N _(FFT)  (1) where N_(FFT) is the number of orthogonal sub-carriers (frequency bins) in MIMO-OFDM system.

In equations and accompanying disclosure below, the sub-carrier index k is omitted for simplicity. Therefore, the system model can be re-written in the simple notation as:

$\begin{matrix} {y = {{Hx} + n}} & (2) \\ {y = \left\lbrack {y_{1}\mspace{14mu} y_{2}\mspace{14mu}\ldots\mspace{14mu} y_{N_{r}}} \right\rbrack^{T}} & (3) \\ {H = {\left\lbrack {h_{1}\mspace{14mu} h_{2}\mspace{14mu}\ldots\mspace{14mu} h_{N_{t}}} \right\rbrack = \begin{bmatrix} h_{11} & h_{12} & \ldots & h_{1\; N_{t}} \\ \; & \ldots & \; & \; \\ h_{N_{r}1} & h_{N_{r}2} & \ldots & h_{N_{r}N_{t}} \end{bmatrix}}} & (4) \\ {x = \left\lbrack {x_{1}\mspace{14mu} x_{2}\mspace{14mu}\ldots\mspace{14mu} x_{N_{t}}} \right\rbrack^{T}} & (5) \\ {n = \left\lbrack {n_{1}\mspace{14mu} n_{2}\mspace{14mu}\ldots\mspace{14mu} n_{N_{r}}} \right\rbrack^{T}} & (6) \end{matrix}$ where y is [N_(r)×1] received symbol vector, H is [N_(r)×N_(t)] channel matrix and h_(j) is its j^(th) column vector that contains channel gains between the transmit antenna j and all N_(r) receive antennas, x is [N_(t)×1] transmitted symbol vector, n is [N_(r)×1] complex noise vector with covariance matrix E(nn^(H)).

As illustrated in FIG. 4, the transmission signal may be first encoded by MIMO encoder 410. A redundancy may be included to protect the information data during the transmission over noisy wireless channels. An encoded signal may then be split into N_(t) spatial data streams x₁, x₂, . . . , x_(Nt), as shown in FIG. 4. A plurality of spatial data streams can be converted into a time domain by utilizing Inverse Fast Fourier Transform (IFFT) units 412 ₁, . . . , 412 _(Nt). The signal may then be up converted to a desired transmission frequency band and transmitted from N_(t) transmit antennas 414 ₁, . . . , 414 _(Nt) over N_(r)·N_(t) single-input single-output (SISO) channels.

N_(r) receive antennas 416 ₁, . . . , 416 _(Nr) are employed at the receiver. Received data streams can be converted back into a frequency domain by using the Fast Fourier Transform (FFT) units 418 ₁, . . . , 418 _(Nr). A frequency domain signal may be input into a MIMO detector 420 that generates reliability messages for coded bits transmitted over a plurality of spatial sub-channels. A reliability message represents a probability that the particular transmitted coded bit is either bit “0” or bit “1”. This information can be passed to the outer MIMO channel decoder 422, and the estimated information data {circumflex over (x)} for a plurality of spatial sub-channels (transmit antennas) are available after removing the redundancy included at the transmitter.

For a given vector v, l_(p) norm can be defined as:

$\begin{matrix} {v = \left\lbrack {v_{1}\mspace{14mu} v_{2}\mspace{14mu}\ldots\mspace{14mu} v_{j}\mspace{14mu}\ldots\mspace{14mu} v_{N}} \right\rbrack^{T}} & (7) \\ \begin{matrix} {l_{p} = {v}_{p}} \\ {{= \left( {{v_{1}}^{p} + {{v_{2}}^{p}\mspace{14mu}\ldots} + {v_{N}}^{p}} \right)^{\frac{1}{p}}}\mspace{14mu}} \\ {= \left( {\sum\limits_{j = 1}^{N}{v_{j}}^{p}} \right)^{\frac{1}{p}}} \end{matrix} & (8) \end{matrix}$ where p is a real number with p≧1, and the scalar element v_(j) can be either real or complex number.

The squared l_(p) norm may be defined as follows: Squared l _(p) =sl _(p) =l _(p) ² =∥v∥ _(p) ²  (9) Exemplary Maximum-Likelihood Detection

The maximum likelihood (ML) detection is well-known technique in the art which utilizes maximum a posteriori (MAP) or equivalent Log-MAP algorithm to find the most likely transmitted modulation symbols. The ML detection achieves optimal accuracy because it evaluates all modulation symbols that can be potentially transmitted. The Log-MAP detector uses log likelihood ratios (LLRs) of coded bits to decide whether a bit “0” or a bit “1” is communicated over a wireless channel.

If b_(k) is the k^(th) bit of the transmitted symbol vector x, the bit LLR L (b_(k)) can be represented as follows:

$\begin{matrix} \begin{matrix} {{L\left( b_{k} \right)} = {{LLR}\left( b_{k} \middle| y \right)}} \\ {= {\log\left\lbrack \frac{P\left( {b_{k} = \left. 0 \middle| y \right.} \right)}{P\left( {b_{k} = \left. 1 \middle| y \right.} \right)} \right\rbrack}} \\ {= {{\log\left\lbrack \frac{\sum\limits_{{x\text{:}b_{k}} = 0}{P\left( x \middle| y \right)}}{\sum\limits_{{x\text{:}b_{k}} = 1}{P\left( x \middle| y \right)}} \right\rbrack} = {\log\left\lbrack \frac{\sum\limits_{{x\text{:}b_{k}} = 0}{{p\left( y \middle| x \right)}{P(x)}}}{\sum\limits_{{x\text{:}b_{k}} = 1}{{p\left( y \middle| x \right)}{P(x)}}} \right\rbrack}}} \\ {= {\log\left\lbrack \frac{\sum\limits_{{x\text{:}b_{k}} = 0}{p\left( y \middle| x \right)}}{\sum\limits_{{x\text{:}b_{k}} = 1}{p\left( y \middle| x \right)}} \right\rbrack}} \end{matrix} & (10) \end{matrix}$ where expression “x:b_(k)=0” denotes a set of candidate transmission bits x with the k^(th) information bit equal to “0”, expression “x:b_(k)=1” denotes a set of candidate transmission bits x with the k^(th) information bit equal to “1”, p(x) is a probability density function of candidate vector x, P(x) is a probability of x, and it is assumed that x is equally distributed.

The Gaussian probability density function may be associated with the transmission symbol vector x. In this case, expression (10) may be simplified as:

$\begin{matrix} \begin{matrix} {{L\left( b_{k} \right)} = {{LLR}\left( b_{k} \middle| y \right)}} \\ {= {\log\left\lbrack \frac{\sum\limits_{{x\text{:}b_{k}} = 0}{p\left( y \middle| x \right)}}{\sum\limits_{{x\text{:}b_{k}} = 1}{p\left( y \middle| x \right)}} \right\rbrack}} \\ {= {\log\left\lbrack \frac{\sum\limits_{{x\text{:}b_{k}} = 0}{\exp\left( {- {d(x)}} \right)}}{\sum\limits_{{x\text{:}b_{k}} = 1}{\exp\;\left( {- {d(x)}} \right)}} \right\rbrack}} \end{matrix} & (11) \end{matrix}$ where metric d(x) may be defined as:

$\begin{matrix} \begin{matrix} {{d(x)} = {d\left( {x_{1},{\ldots\mspace{14mu} x_{j}\mspace{14mu}\ldots}\mspace{14mu},x_{N_{t}}} \right)}} \\ {= \frac{{{y - {Hx}}}^{2}}{\sigma_{n}^{2}}} \end{matrix} & (12) \end{matrix}$ For j^(th) spatial data stream, x_(j)ε C^(M=2) ^(B) where M is the number of constellation points and B is a modulation order (number of bits per modulation symbol). The operational complexity of this search algorithm is therefore proportional to O(M^(N) ^(t) ) and corresponds to the number of hypothesized transmission symbol vectors x in equation (11).

In order to reduce computational complexity of the Log-MAP approach, the Max-Log-MAP algorithm may be applied. If the Gaussian probability density function for the transmission symbol vector x is again assumed, the LLR for the k^(th) bit of the transmission signal vector x L(b_(k)) may be computed as:

$\begin{matrix} \begin{matrix} {{L\left( b_{k} \right)} = {{LLR}\left( b_{k} \middle| y \right)}} \\ {= {\log\left\lbrack \frac{\sum\limits_{{x\text{:}b_{k}} = 0}{p\left( y \middle| x \right)}}{\sum\limits_{{x\text{:}b_{k}} = 1}{p\left( y \middle| x \right)}} \right\rbrack}} \\ {\approx {\log\left\lbrack \frac{\max\limits_{{x\text{:}b_{k}} = 0}{p\left( y \middle| x \right)}}{\max\limits_{{x\text{:}b_{k}} = 1}{p\left( y \middle| x \right)}} \right\rbrack}} \\ {= {\log\left\lbrack \frac{\max\limits_{{x\text{:}b_{k}} = 0}{\exp\left( {- {d(x)}} \right)}}{\max\limits_{{x\text{:}b_{k}} = 1}{\exp\left( {- {d(x)}} \right)}} \right\rbrack}} \\ {= {{\min\limits_{{x\text{:}b_{k}} = 1}{d(x)}} - {\min\limits_{{x\text{:}b_{k}} = 0}{d(x)}}}} \end{matrix} & (13) \end{matrix}$ The operational complexity of this approach is still proportional to O(M^(N) ^(t) ), but, as shown in expression (13), the search operations may now be used instead of summation operations of the Log-MAP approach given by equation (11).

As shown by equation (12), calculation of LLRs in both algorithms may be based on l₂ ² norms. Assuming unitary variance of effective noise at the receiver (after pre-whitening, for example), the c^(th) metric d_(c) from equation (12) and (13) may be represented as: d _(c) =l ₂ ² =∥v∥ ₂ ²  (14)

-   -   where, v=y−Hx, c=1, 2, . . . , M^(N) ^(t)

FIG. 5 shows a block diagram of a typical implementation of the Max-Log-MAP ML detection. Channel estimates of spatial sub-channels for one frequency sub-band in the form of matrix H and vector of received samples y can be input into unit 510. All possible M^(N) ^(T) vector symbols x that can be transmitted from N_(T) antennas may be hypothesized and M^(N) ^(T) l₂ ² norms may be calculated as specified by equation (14). Following this, unit 520 may perform search for minima metrics for every transmission bit k=1, 2, . . . , N_(T)·B for all hypotheses x for which transmission bit k is equal to bit “0”, and for all hypotheses x for which transmission bit k is equal to bit “1”. Therefore, computational complexity of this search process is again proportional to O(N_(T)·B·M^(N) ^(T) ).

Based on found minima metrics for every transmission bit k=1, 2, . . . , N_(T)·B, bit LLRs may be calculated in unit 530 as shown in equation (13). Calculated LLRs for all N_(T)·B coded bits transmitted over a plurality of spatial sub-channels on one frequency bin may then be passed to the outer channel decoder 540 that provides decoded spatial data streams at its output.

Exemplary Maximum-Likelihood Detection Based on QR Decomposition

The Max-Log-MAP maximum-likelihood detection may be also implemented with the pre-processing based on QR decomposition (hereinafter abbreviated as QRML detection). By applying the pre-processing with QR decomposition, the computational complexity of Max-Log-MAP based ML detection can be reduced, while preserving detection accuracy.

In the QRML detection, instead of all N_(T) spatial data streams, (N_(T)−1) streams may be hypothesized. A remaining spatial data stream can be deterministic, and may be generated by rotating received symbols with a unitary matrix obtained after QR decomposition of the channel matrix. Filtered symbols may then be sliced to obtain estimated modulation symbols for that particular spatial data stream. A process of hypothesizing (N_(T)−1) spatial data streams and filtering a remaining stream may be performed for every spatial data stream. Because not all possible spatial streams are hypothesized, computational complexity of the candidate search process may be reduced compare to conventional maximum-likelihood detection.

FIG. 6 shows a block diagram of the Max-Log-MAP QRML detector. The channel matrix H may be permuted in unit 610 for every spatial data streams j=1, 2, . . . , N_(T) such that the rightmost column of the permuted matrix H_(P) corresponds to the j^(th) decoded spatial data stream: H _(P) =└h _(p(1)) h _(p(2)) . . . h _(p(N) _(t) ⁻¹⁾ h _(p(N) _(t) _()=j)┘  (15) The QR decomposition of the permuted channel matrix for the j^(th) spatial data stream may be represented as: H _(P) =QR  (16) The QR decomposition operation may be performed for every spatial data stream in the system by utilizing the appropriate permuted channel matrix.

The rotation (or, equivalently, the zero-forcing filtering) of the received symbol vector for every spatial data stream may also be performed in unit 610 by utilizing the appropriate unitary matrix Q from the QR decomposition operation given by equation (16): y _(r) =Q ^(H) ·y  (17) For every spatial data stream j=1, 2, . . . , N_(T), the rotated received symbol vector y_(r) may be sliced by unit 620 to obtain estimated modulation symbols for that particular spatial data stream j. All other (N_(T)−1) spatial streams may be hypothesized with all possible transmission symbols. Therefore, unit 620 may calculate N_(T)·M^(N) ^(T) ⁻¹ metrics based on l₂ ² norms as: d _(c) =l ₂ ² =∥v∥ ₂ ²  (18)

-   -   where, v=y_(r)−Rx, c=1, 2, . . . , N_(t)M^(N) ^(t) ⁻¹         where y_(r) is a rotated received vector from equation (17), and         matrix R represents an upper triangular matrix obtained from         equation (16) after QR decomposition of the appropriately         permuted channel matrix given by equation (15) for the         particular spatial data stream j.

Unit 630 performs search for minima metrics for every transmission bit k=1, 2, . . . , N_(T)·B assuming all hypotheses x for which bit k is equal to bit “0”, and all hypotheses x for which bit k is equal to bit “1”. Computational complexity of the candidate search process is therefore proportional to O(N_(T)·B·N_(T)·M^(N) ^(T) ⁻¹) since there are N_(T)·M^(N) ^(T) ⁻¹ hypotheses to be compared for every coded bit.

Based on found minima metrics for every bit k=1, 2, . . . , N_(T)·B that may be transmitted on a single frequency bin, LLRs can be calculated in unit 640 by subtracting minima metrics:

$\begin{matrix} \begin{matrix} {{L\left( b_{k} \right)} = {{LLR}\left( b_{k} \middle| y \right)}} \\ {= {\log\left\lbrack \frac{\sum\limits_{{x\text{:}b_{k}} = 0}{\exp\left( {- {d(x)}} \right)}}{\sum\limits_{{x\text{:}b_{k}} = 1}{\exp\;\left( {- {d(x)}} \right)}} \right\rbrack}} \\ {\approx {\log\left\lbrack \frac{\max\limits_{{x\text{:}b_{k}} = 0}{\exp\left( {- {d(x)}} \right)}}{\max\limits_{{x\text{:}b_{k}} = 1}{\exp\left( {- {d(x)}} \right)}} \right\rbrack}} \\ {= {{\min\limits_{{x\text{:}b_{k}} = 1}{d(x)}} - {\min\limits_{{x\text{:}b_{k}} = 0}{d(x)}}}} \end{matrix} & (19) \\ {where} & \; \\ \begin{matrix} {{{d(x)} = {d\left( {x_{1},{\ldots\mspace{14mu} x_{j}\mspace{14mu}\ldots}\mspace{14mu},x_{N_{t}}} \right)}}\mspace{14mu}} \\ {= \frac{{{y_{r} - {Rx}}}^{2}}{\sigma_{n}^{2}}} \end{matrix} & (20) \end{matrix}$

It can be observed from equation (20) that a metric for LLR calculation is still l₂ ² norm. Assuming unitary variance of effective noise at the receiver (for example, after pre-whitening), the c^(th) metric d_(c) from metric calculation unit 620 can be obtained as: d _(c) =l ₂ ² =∥v∥ ₂ ²  (21)

-   -   where, v=y_(r)−Rx, c=1, 2, . . . , N_(t)M^(N) ^(t) ⁻¹

Computed LLRs for all N_(T)·B coded bits transmitted over a plurality of spatial sub-channels using a single frequency bin may be then passed to the outer channel decoder 650 that provides decoded spatial data streams at the output.

The QRML detection is an optimal solution referencing Max-Log-MAP algorithm, and thus provides identical error-rate performance as the Max-Log-MAP based ML detection. This may be confirmed by simulation results, which are also provided in the present disclosure. Computational complexity of the candidate search process is reduced.

Exemplary Maximum-Likelihood Detection with Post-Squaring Composition

The Max-Log-MAP ML detection with post-squaring compensation of norms (PC-ML detection) may be proposed to reduce computational complexity of the Max-Log-MAP ML algorithm while preserving the error-rate performance. In the PC-ML detection, the transmission signal may be hypothesized based on un-squared l₂ norms instead of squared l₂ norms, and then searching for minima un-squared distances may be performed. Squaring of metrics may be postponed until minima un-squared norms are determined. By computing un-squared norms and by post-squaring only a limited number of calculated metrics, computational complexity may be significantly reduced, while identical detection accuracy can be achieved as for previously presented ML and QRML solutions.

FIG. 7 shows a process of Max-Log-MAP ML detection with post-squaring compensation, and FIG. 8 illustrates an example block diagram of Max-Log-MAP ML detector with post-squaring compensation that performs processing flow from FIG. 7. Initially, M^(N) ^(T) transmission symbol candidates may be hypothesized based on the received signal vector and channel estimates, at 710. Metrics may be calculated based on un-squared l₂ norms instead of l₂ ² norms, as it is also illustrated with unit 810 in FIG. 8. At 720, for every transmission bit k=1, 2, . . . , N_(T)·B, unit 820 performs search for minima metrics for all hypotheses x for which bit k is equal to bit “0”, and for all hypotheses x for which bit k is equal to bit “1”. The computational complexity of the search process is therefore proportional to O(N_(T)·B·M^(N) ^(T) ).

Once the minima metrics for all coded bits are determined, unit 830 in FIG. 8 may perform the post-squaring compensation of the minima metrics, at 730. The post-squared minima metrics of the PC-ML detection produces identical results as minima metrics of the original ML detection, i.e. l₂ ² norms are equivalent to the post-squared l₂ norms.

From equation (14), the relationship between l₂ ² norm and l₂ norm may be obtained as follows:

$\begin{matrix} {\begin{matrix} {d_{c} = {l_{2}^{2} = {v}_{2}^{2}}} \\ {= \left( \sqrt{\sum\limits_{j = 1}^{N_{t}}{v_{j}}^{2}} \right)^{2}} \\ {= {\left( d_{l_{2},c} \right)^{2} = \left( l_{2} \right)^{2}}} \end{matrix}{{where},{v = {y - {Hx}}},{c = 1},2,\ldots\mspace{11mu},M^{N_{t}}}} & (22) \end{matrix}$

The post squaring of minima metric may be applied to recover squared l₂ norms required for bit LLR calculation. Let d_(l) ₂ _(,min) be the arbitrary minimum l₂ norm as a result of minima search: d _(l) ₂ _(,min)=min(d _(l) ₂ _(,c))  (23) The post-squaring of the smallest l₂ norm results into equivalent minimum l₂ ² norm:

$\begin{matrix} \begin{matrix} {d_{\min} = \left( d_{l_{2},\min} \right)^{2}} \\ {= \left( {\min\limits_{x}\left( {v}_{2} \right)} \right)^{2}} \\ {= \left( {\min\limits_{x}\left( \sqrt{\sum\limits_{j = 1}^{N_{t}}{v_{j}}^{2}} \right)} \right)^{2}} \\ {= {\min\limits_{x}\left( \left( \sqrt{\sum\limits_{j = 1}^{N_{t}}{v_{j}}^{2}} \right)^{2} \right)}} \\ {= {\min\limits_{x}\left( {v}_{2}^{2} \right)}} \end{matrix} & (24) \end{matrix}$ Therefore, if there is no approximation for calculating l₂ norms, then the result of minima search algorithm using l₂ norms may be equivalent to the result of minima search using l₂ ² norms.

At 740, for every bit k=1, 2, . . . , N_(T)·B transmitted on a single frequency bin, bit LLR L(b_(k)) may be calculated by unit 840 based on squared minima metrics from equation (22) as:

$\begin{matrix} \begin{matrix} {{L\left( b_{k} \right)} = {\log\left\lbrack \frac{\max\limits_{{x:b_{k}} = 0}{\exp\left( {- {d(x)}} \right)}}{\max\limits_{{x:b_{k}} = 1}{\exp\left( {- {d(x)}} \right)}} \right\rbrack}} \\ {= {{\min\limits_{{x:b_{k}} = 1}{d(x)}} - {\min\limits_{{x:b_{k}} = 0}{d(x)}}}} \\ {= {\log\left\lbrack \frac{\max\limits_{{x:b_{k}} = 0}{\exp\left( {- \left( {d_{l_{2}}(x)} \right)^{2}} \right)}}{\max\limits_{{x:b_{k}} = 1}{\exp\left( {- \left( {d_{l_{2}}(x)} \right)^{2}} \right)}} \right\rbrack}} \\ {= {\left( {\min\limits_{{x:b_{k}} = 1}{d_{l_{2}}(x)}} \right)^{2} - \left( {\min\limits_{{x:b_{k}} = 0}{d_{l_{2}}(x)}} \right)^{2}}} \end{matrix} & (25) \end{matrix}$

It can be observed from equation (25) that un-squared l₂ norms may be computed during the metric calculation stage of the PC-ML detection algorithm. If the variance of effective noise at the receiver is unitary (after pre-whitening, for example), the c^(th) metric d_(l) ₂ _(,c) from metric calculation block may be computed as: d _(l) ₂ _(,c) =l ₂ =∥v∥ ₂  (26)

-   -   where, v=y−Hx, c=1, 2, . . . , M^(N) ^(t)

It can be observed from equation (25) that the Max-Log-MAP ML detection with post-squaring compensation may utilize only two squared l₂ norms per coded transmission bit representing minimum metric for bit “1” hypothesis and minimum metric for bit “0” hypothesis, instead of M^(N) ^(t) squared l₂ norms. Therefore, complexity overhead due to square operations can be small, and it may not affect the overall computational complexity. At 750, calculated LLRs for all N_(T)·B coded bits transmitted over a plurality of spatial sub-channels for a single frequency bin may be passed to the outer channel decoder 850 that provides decoded data at its output.

The post-squaring compensation may be also applied for the ML detection with QR preprocessing (hereinafter abbreviated as PC-QRML detection). FIG. 9 shows a process of Max-Log-MAP QRML detection with post-squaring compensation, and FIG. 10 shows a block diagram of Max-Log-MAP ML detector with post-squaring compensation that performs processing flow from FIG. 9.

At 910, for every spatial data stream j=1, 2, . . . , N_(T), the channel matrix may be permuted by unit 1010 such that the rightmost column of the permuted matrix corresponds to the j^(th) decoded stream as shown in equation (15). The QR decomposition of permuted channel matrix for every utilized spatial data stream is then performed, and the received symbol vector may be rotated as defined by equation (17).

At 920, for every spatial data stream j=1, 2, . . . , N_(T), rotated received symbols may be sliced in unit 1020 in order to obtain estimated modulation symbols for that particular spatial data stream j. All other (N_(T)−1) spatial data streams may be hypothesized with all possible transmission symbols. Therefore, unit 1020 calculates N_(T)·M^(N) ^(T) ⁻¹ metrics based on l₂ norms. At 930, for every transmission bit k=1, 2, . . . , N_(T)·B, unit 1030 performs search for minima metrics for all hypotheses x for which bit k is equal to bit “0”, and for all hypotheses x for which bit k is equal to bit “1”. Computational complexity of the candidate search process is therefore proportional to O(N_(T)·B·N_(T)·M^(N) ^(T) ⁻¹).

At 940, once the minima metrics for all coded bits are determined, unit 1040 in FIG. 10 may perform the post-squaring compensation of minima metrics. As shown before, the post-squaring of minima metrics in the PC-QRML detection algorithm produces identical results as minima metrics of the original ML detection, i.e. l₂ ² norms are equivalent to post-squared l₂ norms. At 950, for every coded transmission bit k=1, 2, . . . , N_(T)·B, bit LLR L(b_(k)) may be calculated based on squared minima metrics in unit 1050 as follows:

$\begin{matrix} \begin{matrix} {{L\left( b_{k} \right)} = {\log\left\lbrack \frac{\max\limits_{{x\text{:}b_{k}} = 0}{\exp\left( {- {d(x)}} \right)}}{\max\limits_{{x\text{:}b_{k}} = 1}{\exp\left( {- {d(x)}} \right)}} \right\rbrack}} \\ {= {{\min\limits_{{x\text{:}b_{k}} = 1}{d(x)}} - {\min\limits_{{x\text{:}b_{k}} = 0}{d(x)}}}} \\ {= {\log\left\lbrack \frac{\max\limits_{{x\text{:}b_{k}} = 0}{\exp\left( {- \left( {d_{l_{2}}(x)} \right)^{2}} \right)}}{\max\limits_{{x\text{:}b_{k}} = 1}{\exp\left( {- \left( {d_{l_{2}}(x)} \right)^{2}} \right)}} \right\rbrack}} \\ {= {\left( {\min\limits_{{x\text{:}b_{k}} = 1}{d_{l_{2}}(x)}} \right)^{2} - \left( {\min\limits_{{x\text{:}b_{k}} = 0}{d_{l_{2}}(x)}} \right)^{2}}} \end{matrix} & (27) \end{matrix}$

Assuming unitary variance of the effective noise at the receiver (after pre-whitening, for example), the c^(th) metric d_(l) ₂ _(,c) from the metric calculation block 1020 may be determined as: d _(l) ₂ _(,c) =l ₂ =∥v∥ ₂  (28)

-   -   where, v=y_(r)−Rx, c=1, 2, . . . , N_(t)M^(N) ^(t) ⁻¹

At 960, calculated LLRs for all N_(T)·B coded bits transmitted over a plurality of spatial sub-channels for a single frequency bin may be passed to the outer channel decoder 1060 that provides decoded bits at its output.

The calculation of un-squared l₂ norm may require smaller dynamic range than the calculation of l₂ ² norm caused by range compression of the square-root operations from equation (8). Therefore, a smaller arithmetic precision for representation of l₂ norms may be required than for representation of l₂ ² norms. This leads to smaller memory requirements for PC-ML and PC-QRML detection algorithms.

Another advantage of the post-squaring compensation may be a reduction in complexity for calculation of metrics. While it may appear that the ML detection with the post-squaring compensation may require more computations than the original approach based on l₂ ² norm due to square-root operations from equation (8). But, this holds only if the exact un-squared l₂ norm is calculated. However, computational complexity of the PC-QRML detection may be significantly reduced if the calculation of l₂ norm is approximated.

There are two aspects for approximate calculation of un-squared l₂ norms that may need to be considered: computational complexity and accuracy. By applying the “maxsum” approximation, according to the equation below, computation of l₂ norms may be accurately obtained with the summation and comparison operations instead of square-root operations:

$\begin{matrix} {\begin{matrix} {\mspace{79mu}{d_{l_{2},c} = {{v}_{2} = \sqrt{\sum\limits_{j = 1}^{N_{t}}{v_{j}}^{2}}}}} \\ {\approx {{\max\left( {z_{j}} \right)} + {F \cdot \left( {\sum\limits_{j,{j \neq m}}{z_{j}}} \right)}}} \\ {= {{\max\left( {z_{j}} \right)} + {F \cdot \left( {\left( {\sum\limits_{j}{z_{j}}} \right) - {\max\left( {z_{j}} \right)}} \right)}}} \end{matrix}\mspace{79mu}{where}\begin{matrix} {z = \left\lbrack {{{real}\left( v_{1} \right)},{{imag}\left( v_{1} \right)},{{real}\left( v_{2} \right)},{{imag}\left( v_{2} \right)},\ldots\mspace{11mu},{{real}\left( v_{N_{t}} \right)},{{imag}\left( v_{N_{t}} \right)}} \right\rbrack^{T}} \\ {= \left\lbrack {z_{1},z_{2},\ldots\mspace{11mu},z_{2\; N_{t}}} \right\rbrack^{T}} \end{matrix}} & (29) \\ {\mspace{79mu}{m = {\underset{j}{\arg\;\max}\left( {z_{j}} \right)}}} & \; \end{matrix}$ Parameter F is a tuning factor that may be determined by simulations.

FIG. 11 shows comparison of computational complexity between several ML detection schemes. The number of utilized arithmetic operations in different algorithms is compared. In this exemplary case, the bit-precision for representation of LLRs and memory requirements are not considered as factors for comparison of computational complexity. As an illustrative example, it may be assumed a wireless system with two transmit and two receive antennas, 64-QAM modulation may be applied at the transmitter, the Max-Log-MAP ML detection and QRML detection may utilize squared l₂ norms for computation of metric. The PC-ML detection and the PC-QRML detection may utilize “maxsum” approximation for calculation of un-squared l₂ norms given by equation (29) with the tuning factor F=0.25.

The number of arithmetic operations provided in FIG. 11 corresponds to the detection of two spatial data streams for a single frequency sub-band with 12 coded transmission bits that represent two 64-QAM modulation symbols. It can be observed that ML and QRML algorithms use large number of real multiplications to calculate metrics. On the other side, in the PC-ML and PC-QRML algorithms, real multiplications may be replaced by comparison and select operations. Also, computational complexity of minima search may be reduced. The post-squaring compensation assumes only small number of multiplications: two real multiplications per coded transmission bit. Therefore, total computational complexity of detection algorithms with post-squaring compensation may be substantially smaller.

Simulations have been conducted in order to evaluate error rate performance of different detection algorithms. All analyzed schemes utilize exact calculation of norms and floating point representation of numbers. A wireless system with two transmit and two receive antennas may be assumed with Vertical encoding and with 64-QAM modulation type may be applied at the transmitter. Two different coding schemes may be utilized in simulations: tailbiting convolutional codes (TBCC) with rates ½, ⅔ and ¾, and convolution Turbo codes (CTC) with rates ½, ⅔, ¾ and ⅚. The number of data packets used in simulations is equal to 10000, it is assumed perfect channel state information at the receiver. The fading scenario is Vehicular-A channel with the speed of mobile subscriber of 30 km/h, which corresponds to the Doppler frequency of 64 Hz. The carrier frequency of 2.3 GHz may be utilized.

FIG. 12 summarizes features of ML detection schemes that are evaluated by aforementioned simulations. It can be observed that l₂ and squared l₂ norms may be exploited for metric calculation in different detection algorithms. The reference algorithm in terms of error-rate performance is the QRML detection with metric based on squared l₂ norms because of optimal error rate performance.

FIG. 13 illustrates loss in dB units of QRML detection with metric based on non-squared l₂ norms and of PC-QRML detection, relative to the QRML detection with metric based on direct computation of squared l₂ norms at the packet error rate (PER) of 10⁻². It can be observed that the PC-QRML detection algorithm shows identical PER performance as the QRML detection with metric based on direct computation of squared l₂ norms. Also, the QRML detection with non-squared norms (post-squaring is not applied) may experience error-rate performance degradation especially in the case of CTC codes.

The various operations of methods described above may be performed by various hardware and/or software component(s) and/or module(s) corresponding to means-plus-function blocks illustrated in the Figures. Generally, where there are methods illustrated in Figures having corresponding counterpart means-plus-function Figures, the operation blocks correspond to means-plus-function blocks with similar numbering. For example, blocks 710-750 illustrated in FIG. 7 correspond to means-plus-function blocks 710A-750A illustrated in FIG. 7A. Similarly, blocks 910-960 illustrated in FIG. 9 correspond to means-plus-function blocks 910A-960A illustrated in FIG. 9A.

The various illustrative logical blocks, modules and circuits described in connection with the present disclosure may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

The steps of a method or algorithm described in connection with the present disclosure may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in any form of storage medium that is known in the art. Some examples of storage media that may be used include random access memory (RAM), read only memory (ROM), flash memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM and so forth. A software module may comprise a single instruction, or many instructions, and may be distributed over several different code segments, among different programs, and across multiple storage media. A storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.

The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.

The functions described may be implemented in hardware, software, firmware or any combination thereof. If implemented in software, the functions may be stored as one or more instructions on a computer-readable medium. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.

Software or instructions may also be transmitted over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of transmission medium.

Further, it should be appreciated that modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by a user terminal and/or base station as applicable. For example, such a device can be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, various methods described herein can be provided via storage means (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.), such that a user terminal and/or base station can obtain the various methods upon coupling or providing the storage means to the device. Moreover, any other suitable technique for providing the methods and techniques described herein to a device can be utilized.

It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the methods and apparatus described above without departing from the scope of the claims. 

1. A method for detection of data transmitted on a plurality of spatial channels in a multiple-input multiple-output wireless communications system, comprising: computing approximate l₂ norm values using a maxsum approximation technique; calculating un-squared l₂ norm metrics utilizing the approximated l₂ norm values for a set of hypothesized symbols that correspond to coded bits transmitted over the spatial channels; searching the un-squared l₂ norm metrics for minima metrics of the un-squared l₂ norm metrics; squaring the minima metrics of the un-squared l₂ norm metrics found during the searching to obtain post-squared metrics; calculating log-likelihood ratio values for coded bits transmitted over the spatial channels using post-squared metrics; and outputting bits decoded from the coded bits transmitted over the spatial channels.
 2. The method of claim 1, comprising: decoding bits transmitted over the plurality of spatial sub-channels by using the calculated log-likelihood ratios.
 3. The method of claim 1, further comprising: permuting a matrix of channel estimates for the spatial channels, to generate permuted matrices of channel estimates for the plurality of spatial streams; and performing QR decomposition of the permuted matrices to generate a unitary matrix and an upper triangular matrix for the plurality of spatial streams.
 4. The method of claim 3, further comprising: rotating a received signal with the unitary matrices to generate filtered outputs; slicing filtered outputs to obtain sliced coded bits for the plurality of spatial streams; hypothesizing symbols that may be transmitted on the spatial streams using sliced coded bits; and decoding bits transmitted over the plurality of spatial sub-channels by using calculated log-likelihood ratios of coded bits.
 5. An apparatus for detection of data transmitted on a plurality of spatial channels in a multiple-input multiple-output wireless communications system, comprising: a processor; a memory in electronic communication with the processor, wherein the memory stores executable instructions that when executed by the processor cause the processor to perform operations comprising: computing approximate l₂ norm values using a maxsum approximation technique; calculating un-squared l₂ norm metrics utilizing the approximate l₂ norm values for a set of hypothesized symbols that correspond to coded bits transmitted over the spatial channels; searching the un-squared l₂ norm metrics for minima metrics of the un-squared l₂ norm metrics; squaring the minima metrics of the un-squared l₂ norm metrics found during the searching to obtain post-squared metrics; calculating log-likelihood ratio values for coded bits transmitted over the spatial channels using post-squared metrics; and outputting bits decoded from the coded bits transmitted over the spatial channels.
 6. The apparatus of claim 5, wherein the processor is further configured to perform: decoding bits transmitted over the plurality of spatial sub-channels by using the calculated log-likelihood ratios.
 7. The apparatus of claim 5, wherein the processor is further configured to perform: permuting a matrix of channel estimates for the spatial channels, to generate permuted matrices of channel estimates for the plurality of spatial streams; and performing QR decomposition of the permuted matrices to generate a unitary matrix and an upper triangular matrix for the plurality of spatial streams.
 8. The apparatus of claim 7, wherein the processor is further configured to perform: rotating a received signal with the unitary matrices to generate filtered outputs; slicing filtered outputs to obtain sliced coded bits for the plurality of spatial streams; hypothesizing symbols that may be transmitted on the spatial streams using sliced coded bits; and decoding bits transmitted over the plurality of spatial sub-channels by using calculated log-likelihood ratios of coded bits.
 9. An apparatus for detection of data transmitted on a plurality of spatial channels in a multiple-input multiple-output wireless communications system, comprising: non-transitory means for computing approximate l₂ norm values using a maxsum approximation technique; non-transitory means for calculating un-squared l₂ norm metrics utilizing the approximated l₂ norm values for a set of hypothesized symbols that correspond to coded bits transmitted over the spatial channels; non-transitory means for searching the un-squared l₂ norm metrics for minima metrics of the un-squared l₂ norm metrics; non-transitory means for squaring the minima metrics of the un-squared l₂ norm metrics found during the searching to obtain post-squared metrics; non-transitory means for calculating log-likelihood ratio values for coded bits transmitted over the spatial channels using post-squared metrics; and non-transitory means for outputting bits decoded from the coded bits transmitted over the spatial channels.
 10. The apparatus of claim 9, comprising: non-transitory means for decoding bits transmitted over the plurality of spatial sub-channels by using the calculated log-likelihood ratios.
 11. The apparatus of claim 9, further comprising: non-transitory means for permuting a matrix of channel estimates for the spatial channels, to generate permuted matrices of channel estimates for the plurality of spatial streams; and non-transitory means for performing QR decomposition of the permuted matrices to generate a unitary matrix and an upper triangular matrix for the plurality of spatial streams.
 12. The apparatus of claim 11, further comprising: non-transitory means for rotating a received signal with the unitary matrices to generate filtered outputs; non-transitory means for slicing filtered outputs to obtain sliced coded bits for the plurality of spatial streams; non-transitory means for hypothesizing symbols that may be transmitted on the spatial streams using sliced coded bits; and non-transitory means for decoding bits transmitted over the plurality of spatial sub-channels by using calculated log-likelihood ratios of coded bits.
 13. A computer-program product for detection of data transmitted on a plurality of spatial channels in a multiple-input multiple-output wireless communications system, comprising a non-transitory computer readable medium having instructions stored thereon, the instructions being executable by one or more processors and the instructions comprising: instructions for computing approximate l₂ norm values using a maxsum approximation technique; instructions for calculating un-squared l₂ norm metrics utilizing the approximated l₂ norm values for a set of hypothesized symbols that correspond to coded bits transmitted over the spatial channels; instructions for searching the un-squared l₂ norm metrics for minima metrics of the un-squared l₂ norm metrics; instructions for squaring the minima metrics of the un-squared l₂ norm metrics found during the searching to obtain post-squared metrics; instructions for calculating log-likelihood ratio values for coded bits transmitted over the spatial channels using post-squared metrics; and instructions for outputting bits decoded from the coded bits transmitted over the spatial channels.
 14. The computer-program product of claim 13, wherein the instructions further comprise: instructions for decoding bits transmitted over the plurality of spatial sub-channels by using the calculated log-likelihood ratios.
 15. The computer-program product of claim 13, wherein the instructions further comprise: instructions for permuting a matrix of channel estimates for the spatial channels, to generate permuted matrices of channel estimates for the plurality of spatial streams; and instructions for performing QR decomposition of the permuted matrices to generate a unitary matrix and an upper triangular matrix for the plurality of spatial streams.
 16. The computer-program product of claim 15, wherein the instructions further comprise: instructions for rotating a received signal with the unitary matrices to generate filtered outputs; instructions for slicing filtered outputs to obtain sliced coded bits for the plurality of spatial streams; instructions for hypothesizing symbols that may be transmitted on the spatial streams using sliced coded bits; and instructions for decoding bits transmitted over the plurality of spatial sub-channels by using calculated log-likelihood ratios of coded bits. 